2012
24291
Voinko käyttää kommentteja JSON-tiedostossa? Jos on, niin miten? 
1
2
Seuraava
Ei.
JSON on vain tietoja, ja jos lisäät kommentin, niin se on myös tietoja.
Sinulla voi olla nimetty tietoelementti nimeltä _comment (tai jokin muu), jonka JSON-tietoja käyttävien sovellusten tulisi ohittaa.
Sinun olisi todennäköisesti parempi kommentoida JSON: n tuottavat / vastaanottavat prosessit, koska heidän oletetaan tietävän, mitä JSON-tiedot ovat etukäteen tai ainakin niiden rakenne.
Mutta jos päätät:
{
"_comment": "kommenttiteksti menee tänne ...",
"sanasto": {
"title": "esimerkkisanasto",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Normaali yleinen merkintäkieli",
"Lyhenne": "SGML",
"Lyhenne": "ISO 8879: 1986",
"GlossDef": {
"para": "Metamerkintäkieli, jota käytetään luomaan merkintäkieliä, kuten DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "merkintä"
}
}
}
}
}
|
Ei, lomakkeen //… tai / *… * / kommentteja ei sallita JSON: ssa. Tämä vastaus perustuu:
https://www.json.org
RFC 4627:
Sovellus / json-mediatyyppi JavaScript-objektimerkinnöille (JSON)
RFC 8259 JavaScript Object Notation (JSON) -tiedonsiirtomuoto (korvaa RFC: t 4627, 7158, 7159)
|
Sisällytä kommentit, jos päätät; riisuta ne pienentimellä ennen jäsentämistä tai lähettämistä.
Julkaisin juuri JSON.minify (): n, joka poistaa kommentit ja tyhjät tilat JSON-lohkosta ja tekee siitä kelvollisen JSON: n, joka voidaan jäsentää. Joten, voit käyttää sitä kuten:
JSON.parse (JSON.minify (my_str));
Kun julkaisin sen, sain valtavan vastahyökkäyksen ihmisistä, jotka olivat eri mieltä edes ajatuksesta, joten päätin kirjoittaa kattavan blogiviestin siitä, miksi kommentit ovat järkeviä JSONissa. Se sisältää tämän merkittävän kommentin JSON-luojalta:
Oletetaan, että käytät JSON-protokollaa määritystiedostojen säilyttämiseen, jotka haluat merkitä. Mene eteenpäin ja lisää kaikki haluamasi kommentit. Vedä se sitten JSMinin läpi ennen kuin luovutat sen JSON-jäsentäjälle. - Douglas Crockford, 2012
Toivottavasti siitä on hyötyä niille, jotka ovat eri mieltä siitä, miksi JSON.minify () voisi olla hyödyllinen.
|
Kommentit poistettiin JSONista suunnittelun avulla.
Poistin JSON: n kommentit, koska näin ihmisten käyttävän niitä jäsentämisdirektiivien järjestämiseen, mikä olisi tuhonnut yhteentoimivuuden. Tiedän, että kommenttien puute tekee joistakin surullisiksi, mutta sen ei pitäisi.
Oletetaan, että käytät JSON-protokollaa määritystiedostojen säilyttämiseen, jotka haluat merkitä. Mene eteenpäin ja lisää kaikki haluamasi kommentit. Pistä se sitten JSMinin läpi ennen kuin luovutat sen JSON-jäsentäjälle.
Lähde: Douglas Crockfordin julkinen lausunto G +: sta
|
JSON ei tue kommentteja. Sitä ei myöskään koskaan ollut tarkoitettu käytettäväksi kokoonpanotiedostoissa, joissa kommentteja tarvittaisiin.
Hjson on määritystiedostomuoto ihmisille. Rento syntakse, vähemmän virheitä, enemmän kommentteja.
Katso JavaScript-, Java-, Python-, PHP-, Rust-, Go-, Ruby-, C ++- ja C # -kirjastot osoitteesta hjson.github.io.
|
VASTUUVAPAUSLAUSEKE: TAKUUsi ei ole voimassa
Kuten on huomautettu, tämä hakkerointi hyödyntää spec. Kaikki JSON-jäsentäjät eivät ymmärrä tällaista JSONia. Erityisesti suoratoistettavat jäsentimet tukehtuvat.
Se on mielenkiintoinen uteliaisuus, mutta sinun ei todellakaan pitäisi käyttää sitä mihinkään. Alla on alkuperäinen vastaus.
Olen löytänyt pienen hakkeroinnin, jonka avulla voit sijoittaa kommentteja JSON-tiedostoon, jotka eivät vaikuta jäsentämiseen tai muuttavat edustettavia tietoja millään tavalla.
Vaikuttaa siltä, ​​että kun julistat objektin kirjaimeksi, voit määrittää kaksi arvoa samalla avaimella, ja viimeinen on etusijalla. Uskokaa tai älkää, käy ilmi, että JSON-jäsentäjät toimivat samalla tavalla. Joten voimme käyttää tätä luoda kommentteja lähde JSON: iin, joita ei ole jäsennetyssä objektiesityksessä.
({a: 1, a: 2});
// => Objekti {a: 2}
Object.keys (JSON.parse ('{"a": 1, "a": 2}')). Pituus;
// => 1
Jos käytämme tätä tekniikkaa, kommentoitu JSON-tiedosto saattaa näyttää tältä:
{
"api_host": "API-palvelimesi isäntänimi. Voit myös määrittää portin.",
"api_host": "hodorhodor.com",
"retry_interval": "Epäonnistuneiden sovellusliittymäkutsujen uudelleenkäyttämisen välinen aika sekunneissa",
"retry_interval": 10,
"auth_token": "Todennusvaltuus. Se on saatavana kehittäjän hallintapaneelissa Asetukset",
"auth_token": "5ad0eb93697215bc0d48a7b69aa6fb8b",
"suosikki_numerot": "Taulukko, joka sisältää kaikkien aikojen suosikkini numerot",
"suosikki_numerot": [19, 13, 53]
}
Yllä oleva koodi on kelvollinen JSON. Jos jäsennät sen, saat seuraavanlaisen objektin:
{
"api_host": "hodorhodor.com",
"retry_interval": 10,
"auth_token": "5ad0eb93697215bc0d48a7b69aa6fb8b",
"suosikki_numerot": [19,13,53]
}
Eli kommenteista ei ole jälkiä, eikä niillä ole outoja sivuvaikutuksia.
Hyvää hakkerointia!
|
Harkitse YAML: n käyttöä. Se on melkein JSON-sarja (käytännössä kaikki voimassa oleva JSON on kelvollinen YAML) ja se sallii kommentit.
|
Et voi. Ainakin tämä on kokemukseni nopeasti katsomalla sivustoa json.org.
JSON: lla on syntaksinsavisualisoitu tällä sivulla. Kommenteista ei ole huomautuksia.
|
Kommentit eivät ole virallisia standardeja, vaikka jotkut jäsentäjät tukevat C ++ - tyylisiä kommentteja. Yksi käyttämäni on JsonCpp. Esimerkeissä on tämä:
// Määritysvaihtoehdot
{
// Tekstin oletuskoodaus
"koodaus": "UTF-8",
// Laajennukset ladattu käynnistyksen yhteydessä
"laajennukset": [
"python",
"c ++",
"rubiini"
],
// Sarkaimen sisennyksen koko
"sisennys": {"length": 3, "use_space": true}
}
jsonlint ei vahvista tätä. Joten kommentit ovat jäsenninkohtainen laajennus eivätkä vakio.
Toinen jäsennin on JSON5.
Vaihtoehto JSON TOMLille.
Toinen vaihtoehto on jsonc.
Nlohmann / jsonin uusimmalla versiolla on valinnainen tuki jäsentämistä koskevien kommenttien ohittamiseen.
|
Sinun tulisi kirjoittaa JSON-malli. JSON-skeema on tällä hetkellä ehdotettu Internet-luonnoseritelmä. Dokumentaation lisäksi kaavaa voidaan käyttää myös JSON-tietojen vahvistamiseen.
Esimerkki:
{
"description": "Henkilö",
"type": "object",
"ominaisuudet":
{
"nimi":
{
"type": "string"
},
"ikä":
{
"type": "kokonaisluku",
"suurin": 125
}
}
}
Voit toimittaa dokumentaatiota käyttämällä kuvauskaavamääritettä.
|
Jos käytät Jacksonia JSON-jäsentäjänä, sallit sen kommenttien sallimiseksi seuraavasti:
ObjectMapper mapper = uusi ObjectMapper (). Configure (Feature.ALLOW_COMMENTS, true);
Sitten sinulla voi olla tällaisia ​​kommentteja:
{
avain: "arvo" // Kommentti
}
Voit myös kommentoida numerolla # alkaen asettamalla:
mapper.configure (Feature.ALLOW_YAML_COMMENTS, true);
Mutta yleensä (kuten aiemmin vastattiin), eritelmä ei salli kommentteja.
|
Tämän löysin Google Firebase -dokumentaatiosta, jonka avulla voit laittaa kommentteja JSON: iin:
{
"//": "Jotkin selaimet käyttävät tätä ottaakseen push-ilmoitukset käyttöön.",
"//": "Se on sama kaikille projekteille, tämä ei ole projektisi lähettäjän tunnus",
"gcm_sender_id": "1234567890"
}
|
EI. JSON tuki aiemmin kommentteja, mutta niitä väärinkäytettiin ja poistettiin standardista.
JSON: n luojalta:
Poistin JSON: n kommentit, koska näin ihmisten käyttävän niitä jäsentämisdirektiivien järjestämiseen, mikä olisi tuhonnut yhteentoimivuuden. Tiedän, että kommenttien puute tekee joistakin surullisiksi, mutta sen ei pitäisi. - Douglas Crockford, 2012
Virallinen JSON-sivusto on osoitteessa JSON.org. JSON on määritelty standardiksi ECMA Internationalin toimesta. Aina on vetoomusmenettely standardien tarkistamiseksi. On epätodennäköistä, että merkintöjä lisätään JSON-standardiin useista syistä.
Suunniteltu JSON on helposti käänteinen (ihmisen jäsennetty) vaihtoehto XML: lle. Se on yksinkertaistettu jopa siihen pisteeseen, että merkinnät ovat tarpeettomia. Se ei ole edes merkintäkieli. Tavoitteena on vakaus ja yhteentoimivuus.
Jokainen, joka ymmärtää "on-a" -suhteen kohdeorientaatiossa, voi ymmärtää minkä tahansa JSON-rakenteen - se on koko asia. Se on vain suunnattu asyklinen kaavio (DAG), jossa on solmutunnisteet (avain / arvo-parit), joka on lähes yleinen tietorakenne.
Ainoa vaadittu merkintä voi olla "// Nämä ovat DAG-tunnisteita". Avainten nimet voivat olla niin informatiivisia kuin tarvitaan, mikä sallii mielivaltaisen semanttisen ariteetin.
Mikä tahansa alusta voi jäsentää JSONin vain muutamalla koodirivillä. XML vaatii monimutkaisia ​​OO-kirjastoja, jotka eivät ole kannattavia monilla alustoilla.
Merkinnät tekisivät JSONista vain vähemmän yhteentoimivan. Ei yksinkertaisesti ole mitään muuta lisättävää, paitsi mitä todella tarvitset, on merkintäkieli (XML), ja älä välitä, jos pysyvät tiedot on jäsennelty helposti.
MUTTA, kuten myös JSONin luoja huomautti, kommenteille on aina ollut JS-putkiston tuki:
Mene eteenpäin ja lisää kaikki haluamasi kommentit.
Pistä se sitten JSMinin läpi ennen kuin luovutat sen JSON-jäsentäjälle. - Douglas Crockford, 2012
|
Jos joku ohjelma lukee tekstitiedostosi, joka on JSON-merkkijono, kuinka vaikeaa olisi poistaa C- tai C ++ -tyyliset kommentit ennen sen käyttöä?
Vastaus: Se olisi yksi linja. Jos teet niin, JSON-tiedostoja voidaan käyttää määritystiedostoina.
|
Jos käytät Newtonsoft.Json-kirjastoa ASP.NET: n kanssa lukemiseen / deserialisoimiseksi, voit käyttää JSON-sisällön kommentteja:
// "nimi": "merkkijono"
// "id": sis
tai
/* Tämä on
kommenttiesimerkki * /
PS: Yksirivisiä kommentteja tuetaan vain yli 6+ Newtonsoft Json -versiossa.
Lisähuomautus ihmisille, jotka eivät kykene ajattelemaan heti: Käytän JSON-muotoa tekemäni ASP.NET-verkkosovelluksen perusasetuksiin. Luin tiedoston, muunnin sen asetusobjektiksi Newtonsoft-kirjastolla ja käytän sitä tarvittaessa.
Mieluummin kirjoitan kommentteja jokaisesta asetuksesta itse JSON-tiedostossa, enkä välitä JSON-muodon eheydestä, kunhan käyttämäni kirjasto on kunnossa sen kanssa.
Mielestäni tämä on 'helpompi käyttää / ymmärtää' tapa kuin luoda erillinen 'settings.README' tiedosto ja selittää sen asetukset.
Jos sinulla on ongelmia tällaisessa käytössä; anteeksi, henki on poissa lampusta. Ihmiset löytävät muita käyttötarkoituksiaJSON-muodossa, eikä siihen voi tehdä mitään.
|
JSONin idea on tarjota yksinkertainen tiedonvaihto sovellusten välillä. Nämä ovat tyypillisesti verkkopohjaisia ​​ja kieli on JavaScript.
Se ei todellakaan salli kommentteja sinänsä, mutta kommentin välittäminen yhtenä tietojen nimi / arvo-parina toimisi varmasti, vaikka kyseiset tiedot olisi tietysti jätettävä huomiotta tai käsiteltävä nimenomaan jäsentökoodilla.
Kaikki tämä sanoi, että JSON-tiedostossa ei ole tarkoitus sisältää kommentteja perinteisessä mielessä. Sen pitäisi olla vain tietoja.
Katso lisätietoja JSON-verkkosivustolta.
|
JSON ei tue kommentteja luontevasti, mutta voit tehdä oman dekooderin tai ainakin esikäsittelijän kommenttien poistamiseksi, mikä on täysin hienoa (kunhan vain ohitat kommentit ja et käytä niitä ohjaamaan, kuinka sovelluksesi tulisi käsitellä JSON-tietoja ).
JSON: lla ei ole kommentteja. JSON-kooderi EI SAA antaa kommentteja.
JSON-dekooderi VOI hyväksyä ja jättää huomioimatta kommentit.
Kommentteja ei saa koskaan käyttää välittämään mitään mielekästä. Tuo on
mihin JSON on tarkoitettu.
Vrt .: Douglas Crockford, JSON spec.
|
Tapasin juuri tämän kokoonpanotiedostoissa. En halua käyttää XML-muotoa (sanallinen, graafinen, ruma, vaikea lukea) tai "ini" -muotoa (ei hierarkiaa, ei todellista standardia jne.) Tai Java "Properties" -muotoa (kuten .ini).
JSON pystyy tekemään kaiken, mitä voi, mutta se on paljon vähemmän sanallista ja ihmislukuisempaa - ja jäsentäjät ovat helposti ja kaikkialla monilla kielillä. Se on vain datapuu. Mutta taajuusalueen ulkopuoliset kommentit ovat välttämättömiä usein "oletus" kokoonpanojen ja vastaavien dokumentoimiseksi. Kokoonpanot eivät saa koskaan olla "täydellisiä asiakirjoja", mutta tallennettujen tietojen puita, jotka voivat olla ihmisten luettavissa tarvittaessa.
Luulen, että voisi käyttää "#": "comment", "kelvolliseksi" JSON.
|
Se riippuu JSON-kirjastostasi. Json.NET tukee JavaScript-tyylisiä kommentteja, / * commment * /.
Katso toinen pinon ylivuotokysymys.
|
JSONilla on paljon järkeä konfigurointitiedostoille ja muulle paikalliselle käytölle, koska se on läsnä kaikkialla ja koska se on paljon yksinkertaisempi kuin XML.
Jos ihmisillä on vahvat syyt olla kommentoimatta JSON: ssa tiedonsiirrossa (onko se kelvollinen vai ei), niin JSON voidaan jakaa kahteen osaan:
JSON-COM: JSON johdossa tai säännöt, joita sovelletaan JSON-tietoja välitettäessä.
JSON-DOC: JSON-asiakirja tai JSON tiedostoina tai paikallisesti. Säännöt, jotka määrittelevät kelvollisen JSON-asiakirjan.
JSON-DOC sallii kommentit, ja muita pieniä eroja saattaa esiintyä, kuten tyhjätilan käsittely. Parserit voivat helposti muuntaa spesifikaatiosta toiseen.
Douglas Crockfordin huomautus tästä aiheesta (viitattu @Artur Czajka)
Oletetaan, että käytät JSON-protokollaa määritystiedostojen säilyttämiseen, jotka haluat merkitä. Mene eteenpäin ja lisää kaikki haluamasi kommentit. Pistä se sitten JSMinin läpi ennen kuin luovutat sen JSON-jäsentäjälle.
Puhumme yleisestä konfigurointitiedosto-ongelmasta (monikielinen / -alusta), ja hän vastaa JS-erityisohjelmalla!
Varmista, että JSON-spesifinen pienennys voidaan toteuttaa millä tahansa kielellä,
mutta standardisoi tämä, jotta siitä tulee kaikkialla jäsentäjien keskuudessa kaikilla kielillä ja kaikilla alustoilla, jotta ihmiset lakkaavat tuhlaamasta aikaa ominaisuuden puuttumisesta, koska heillä on hyvät käyttötapaukset, etsivät asiaa online-foorumeilla ja saavat ihmiset kertomaan heille, että se on huono idea tai ehdottaa, että kommenttien poistaminen tekstitiedostoista on helppoa.
Toinen asia on yhteentoimivuus. Oletetaan, että sinulla on kirjasto tai sovellusliittymä tai mikä tahansa alijärjestelmä, johon on liitetty joitain kokoonpano- tai datatiedostoja. Ja tämä alijärjestelmä on
eri kielillä. Kerrot sitten kertoa ihmisille: muuten
älä unohda poistaa kommentteja JSON-tiedostoista, ennen kuin välität ne jäsentäjälle!
|
Jos käytät JSON5-ohjelmaa, voit lisätä kommentteja.
JSON5 on ehdotettu JSON-laajennus, jonka tarkoituksena on helpottaa ihmisten kirjoittamista ja ylläpitämistä käsin. Se tekee tämän lisäämällä joitain vähäisiä syntaksitoimintoja suoraan ECMAScript 5: stä.
|
Dojo Toolkit JavaScript -työkalupakki (ainakin versiosta 1.4) antaa sinun lisätä kommentteja JSON-tiedostoon. Kommentit voivat olla muodossa / * * /. Dojo Toolkit kuluttaa JSON-puhelua dojo.xhrGet () -puhelun kautta.
Muut JavaScript-työkalupaketit voivat toimia samalla tavalla.
Tästä voi olla hyötyä, kun kokeilet vaihtoehtoisia tietorakenteita (tai jopa tietoluetteloita) ennen lopullisen vaihtoehdon valitsemista.
|
JSON ei ole kehystetty protokolla. Se on kielivapaa muoto. Joten kommentin muotoa ei ole määritelty JSON: lle.
Kuten monet ihmiset ovat ehdottaneet, on joitain temppuja, esimerkiksi kaksoisavaimet tai tietty avain _kommentti, jota voit käyttää. Se on sinusta kiinni.
|
Sinulla voi olla kommentteja JSONP: ssä, mutta ei puhtaassa JSON: ssa. Olen juuri viettänyt tunnin yrittäen saada ohjelmani toimimaan tämän esimerkin kanssa Highchartsista: http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?
Jos seuraat linkkiä, näet
? (/ * AAPLhistorialliset OHLC-tiedot Google Finance -sovellusliittymästä * /
[
/ * Toukokuu 2006 * /
[1147651200000,67.79],
[1147737600000,64,98],
...
[1368057600000,456.77],
[1368144000000,452.97]
]);
Koska minulla oli vastaava tiedosto paikallisessa kansiossani, saman alkuperää koskevassa käytännössä ei ollut ongelmia, joten päätin käyttää puhdasta JSONia ... ja tietysti $ .getJSON epäonnistui äänettömästi kommenttien takia.
Lopulta lähetin vain manuaalisen HTTP-pyynnön yllä olevaan osoitteeseen ja huomasin, että sisältötyyppi oli teksti / javascript, koska hyvin, JSONP palauttaa puhtaan JavaScriptin. Tässä tapauksessa kommentit ovat sallittuja. Mutta sovellukseni palautti sisältötyyppisen sovelluksen / json, joten minun piti poistaa kommentit.
|
Tämä on kysymys "voitko". Ja tässä on "kyllä" vastaus.
Ei, sinun ei pitäisi käyttää päällekkäisiä objektijäseniä sivukanavan tietojen työntämiseen JSON-koodaukseen. (Katso RFC: ssä "Objektissa olevien nimien PITÄÄ olla yksilöllisiä".)
Ja kyllä, voit lisätä kommentteja JSON: n ympärille, jotka voit jäsentää.
Mutta jos haluat tavan lisätä ja purkaa mielivaltaisia ​​sivukanavatietoja kelvolliseen JSON: iin, tässä on vastaus. Hyödynnämme tietojen ainutlaatuista esitystä JSON-koodauksessa. Tämä on sallittu * RFC: n toisen osan kohdassa "välilyönti on sallittu ennen tai jälkeen minkä tahansa kuudesta rakennemerkistä".
* RFC: ssä sanotaan vain, että "välilyönti on sallittu ennen tai jälkeen minkä tahansa kuudesta rakennemerkistä", eikä siinä nimenomaisesti mainita merkkijonoja, numeroita, "false", "true" ja "null". Tämä puute jätetään huomioimatta KAIKKI toteutukset.
Ensinnäkin kanonisoi JSON minimoimalla se:
$ jsonMin = json_encode (json_decode ($ json));
Koodaa sitten kommenttisi binäärisenä:
$ hex = pura ('H *', $ kommentti);
$ commentBinary = base_convert ($ hex [1], 16, 2);
Sijoita sitten binäärisi:
$ steg = str_replace ('0', '', $ commentBinary);
$ steg = str_replace ('1', "\ t", $ steg);
Tässä on tuotoksesi:
$ jsonWithComment = $ steg. $ jsonMin;
|
Vastuuvapauslauseke: Tämä on typerää
On todella tapa lisätä kommentteja ja pysyä määrittelyssä (ylimääräistä jäsennintä ei tarvita). Se ei kuitenkaan johda ihmisen luettaviin kommentteihin ilman minkäänlaista jäsentämistä.
Voit väärinkäyttää seuraavaa:
Merkityksetön välilyönti on sallittu ennen tunnusta tai sen jälkeen.
Välilyönti on mikä tahansa yhden tai useamman seuraavan koodin sekvenssi
pisteet: merkkitaulukko (U + 0009), rivinvaihto (U + 000A), kuljetus
paluu (U + 000D) ja tila (U + 0020).
Hakkomaisella tavalla voit käyttää tätä väärin lisätäksesi kommentin. Esimerkiksi: aloita ja lopeta kommenttisi välilehdellä. Koodaa kommentti base3: een ja käytä muita välilyöntejä niiden edustamiseen. Esimerkiksi.
010212 010202 011000 011000 011010 001012 010122 010121 011021 010202 001012 011022 010212 011020 010202 010202
(hei pohja kolme ASCII: ssa) Mutta käytä 0: n sijasta tilaa yhdelle rivinvaihdolle ja kahdelle rivinvaihdolle.
Tämä jättää sinulle vain paljon lukukelvottomia välilyöntejä (ellet tee IDE-laajennusta sen koodaamiseen / purkamiseen lennossa).
En ole edes kokeillut tätä, ilmeisistä syistä, eikä sinun pitäisi.
|
JSON ei salli kommentteja sinänsä. Perustelut ovat täysin typeriä, koska voit käyttää JSON-ohjelmaa itse kommenttien luomiseen, mikä hylkää perustelut kokonaan ja lataa jäsennintietotilan ilman mitään syytä ilman täsmälleen samaa tulosta ja mahdollisia ongelmia, kuten ne ovat tiedosto kommenteilla.
Jos yrität laittaa kommentteja (esimerkiksi // tai / * * / tai #), jotkut jäsentimet epäonnistuvat, koska se ei ole ehdottomasti
JSON-määrityksen mukaisesti. Joten sinun ei pitäisi koskaan tehdä sitä.
Esimerkiksi, missä kuvankäsittelyjärjestelmäni on tallentanut kuvamerkinnät ja joitain niihin liittyviä alustettuja (kommentteja) tietoja (alareunassa):
{
"Merkinnät": [
{
"ankkuriX": 333,
"ankkuri": 265,
"areaMode": "Ellipse",
"ulatus X": 356,
"ulatusY": 294,
"opasiteetti": 0,5,
"text": "elliptinen alue päällä",
"textX": 333,
"textY": 265,
"title": "Merkintä 1"
},
{
"ankkuriX": 87,
"ankkuri": 385,
"areaMode": "Suorakulmio",
"laajuusX": 109,
"ulatusY": 412,
"opasiteetti": 0,5,
"text": "Oikea alue \ ei pohja",
"textX": 98,
"textY": 385,
"title": "Merkintä 2"
},
{
"ankkuriX": 69,
"ankkuri": 104,
"areaMode": "Monikulmio",
"ulatus X": 102,
"ulatusY": 136,
"opasiteetti": 0,5,
"pointList": [
{
"i": 0,
"x": 83,
"y": 104
},
{
"i": 1,
"x": 69,
"y": 136
},
{
"i": 2,
"x": 102,
"y": 132
},
{
"i": 3,
"x": 83,
"y": 104
}
],
"text": "Yksinkertainen monikulmio",
"textX": 85,
"textY": 104,
"title": "Merkintä 3"
}
],
"imageXW": 512,
"imageYW": 512,
"imageName": "lena_std.ato",
"tinyDocs": {
"c01": "JSON-kuvan merkintätiedot:",
"c02": "-------------------------",
"c03": "",
"c04": "Nämä tiedot sisältävät kuvamerkintöjä ja niihin liittyvää aluetta",
"c05": "valintatiedot, jotka tarjoavat välineet",
"c06": "kuvagalleria näyttää merkinnät elliptisellä,",
"c07": "suorakulmaiset, monikulmaiset tai vapaan käden alueen merkinnät",
"c08": "gallerian kävijälle näytetyn kuvan päällä.",
"c09": "",
"c10": "X- ja Y-sijainnit ovat kaikki kuvassatilaa. Kuva",
"c11": "resoluutio annetaan muodossa imageXW ja imageYW, joka",
"c12": "voit skaalata merkintätilat niiden omille",
"c13": "kuvan näyttökohdat ja koot",
"c14": "mittakaavasta riippumatta.",
"c15": "",
"c16": "Ellipsien kohdalla ankkuri on ellipsin keskipiste,",
"c17": "ja laajuudet ovat vastaavasti X- ja Y-säteet.",
"c18": "",
"c19": "Suorakulmioiden kohdalla ankkuri on vasen yläreuna ja",
"c20": "ulottuvuudet ovat oikeassa alakulmassa.",
"c21": "",
"c22": "Vapaan käden ja monikulmion aluetiloissa pointList",
"c23": "sisältää sarjan numeroituja XY-pisteitä. Jos alue",
"c24": "on suljettu, viimeinen kohta on sama kuin",
"c25": "ensin, joten sinun on vain kiinnitettävä huomiota piirustukseen",
"c26": "viivat luettelon pisteiden välillä. Ankkuri ja laajuus",
"c27": "asetetaan ilmoitetun vasempaan yläkulmaan ja oikeaan alareunaan",
"c28": "alue, ja sitä voidaan käyttää yksinkertaistettuna suorakaiteen muotoisena",
"c29": "havaitse hiiren osoittimen sijainti näiden tyyppien päällä",
"c30": "alueiden.",
"c31": "",
"c32": "Textx- ja texty-sijainnit tarjoavat perussijoituksen",
"c33": "tiedot, jotka auttavat sinua löytämään tekstitiedot",
"c34": "kohtuulliseen paikkaan, joka liittyy alueeseen",
"c35": "merkintä.",
"c36": "",
"c37": "Opasiteetti on arvo välillä 0 ja 1, missä .5 edustaa",
"c38": "50% läpinäkymätön tausta ja 1.0 edustaa täysin läpinäkymätöntä",
"c39": "taustaa. Suositus on, että alueet piirretään",
"c40": "vain, jos käyttäjä vie osoittimen kuvan päälle",
"c41": "ja että alueisiin liittyvä teksti piirretään",
"c42": "vain, jos käyttäjä vie osoittimen osoitetun päälle",
"c43": "alue."
}
}
|
Käytämme projektissamme strip-json-kommentteja. Se tukee jotain:
/ *
* Kuvaus
* /
{
// sateenkaaret
"yksisarvinen": / * ❤ * / "kakku"
}
Yksinkertaisesti npm install --save strip-json-comments asentaa ja käyttää sitä kuten:
var strip_json_comments = vaatia ('strip-json-comments')
var json = '{/ * sateenkaaret * / "yksisarvinen": "kakku"}';
JSON.parse (nauhat_json_kommentit (json));
// => {yksisarvinen: 'kakku'}
|
Minun täytyy minun käyttää kommentteja virheenkorjaustarkoituksiin juuri ennen JSON-rakenteen lähtöä. Joten päätin käyttää virheenkorjaustietoja HTTP-otsikossa välttääksesi asiakkaan rikkomisen:
header ("My-Json-Kommentti: Kyllä, tiedän, että se on kiertotapa ;-)");
|
Jos haluat leikata JSON-tuotteen osiksi, lisätään "nuken kommentti" -rivit:
{
"#############################" : "Osa 1",
"data1": "arvo1",
"data2": "arvo2",
"#############################" : "Osa 2",
"data4": "arvo3",
"data3": "arvo4"
}
|
1
2
Seuraava
Erittäin aktiivinen kysymys. Ansaitse 10 mainetta vastaamiseksi tähän kysymykseen. Maineen vaatimus auttaa suojaamaan tätä kysymystä roskapostilta ja vastaamattomuudelta.
Eikö vastausta etsit? Selaa muita kysymyksiä, jotka on merkitty json-kommenteilla tai esitä oma kysymyksesi.